package com.sg.dto.base.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc QueryAutomatedReportingTasksListReq
 * @使用场景
 */
@Data
public class QueryAutomatedReportingTasksListReq
        extends BaseDto
        implements Serializable {

    /**
     * 业务场景编码
     */
    @ApiModelProperty("业务场景编码")
    private String bizSceneCode;

    /**
     * 任务进展状态 NOT_AT_THE:未开始 ONGOING:进行中 HAS_ENDED:已结束
     */
    @ApiModelProperty("任务进展状态")
    private String taskStatus;

    /**
     * 是否自动汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否自动汇报")
    private String isAutoReport;

    /**
     * 是否补报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否补报")
    private String isReplenishReport;

    /**
     * 是否完成 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否完成")
    private String isComplete;

    /**
     * 是否逾期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否逾期")
    private String isOverdue;

    /**
     * 内容冗余状态 EDITING:草稿 TOBESIGN:待签收 ONGOING:进行中 FAILED:已失败 OVERDUE:逾期任务 NOT_AT_THE:未开始 UNCOMPLETED:未完成 COMPLETED:已完成 UNREPORTED:待汇报 EVA:评价中 AUDIT:审核中 EXPIRED:已逾期 SUCCESS:已成功 ENDED:已结束 UNLIMITED:不限 TOBEFILL:待填报 TOBEEVA:待评价
     */
    @ApiModelProperty("内容冗余状态")
    private String stateCode;

    /**
     * 是否异常任务 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否异常任务")
    private String isRegularTask;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 主题内容ID
     */
    @ApiModelProperty("主题内容ID")
    private String themeContentId;

    /**
     * 创建于空间ID
     */
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否作废不能为空")
    @ApiModelProperty("是否作废")
    private String isValid;

}
